<?php


// No direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
mail('mpakfm@gmail.com','init upload price','kernel panic. init upload by no admin');
die();
jimport( 'joomla.application.component.view' );
require (JPATH_COMPONENT_ADMINISTRATOR . DS . 'config.shop.php');
require_once (JPATH_COMPONENT_ADMINISTRATOR . DS . 'images.shop.php');
class ShopViewPrice extends JView
{
	function display($tpl = null)
	{
		$pass = JRequest::getVar('pass');
		if($pass == '4f5vd32kl'){ // производим сравнение пароля для начала операции
		$stage = JRequest::getVar('stage');
		$real_pass = '4f5vd32kl';
		$mainframe = &JFactory::getApplication();
		$db = & JFactory::getDBO();
		$file = fopen("up_log.html",'a');
		fwrite($file,'Первый этап пройден '.date('d-m-Y H-i-s').'<br/>');
		switch($stage){
		case 1:
			// обновление каталога первого поставщика
			ini_set('max_execution_time',60);
			ini_set('memory_limit','64M');
			$mtime = microtime(); 
			//Разделяем секунды и миллисекунды 
			$mtime = explode(" ",$mtime); 
			//Составляем одно число из секунд и миллисекунд 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем стартовое время в переменную 
			$tstart = $mtime;
			
			// адрес xml файла с прайсом
			$csv_path = 'http://eroticfantasy.ru/EF_PerechenSkollekciyami.csv';
			// копируем прайс на диск
			$csv = iconv('windows-1251','utf-8',file_get_contents($csv_path));
			file_put_contents('import.tmp', $csv); 
			$handle = fopen('import.tmp', "r");
			
			
			
			
			// получаем номера необходимых категорий
			$db->setQuery("SELECT id_original FROM #__shop_category_comparison");
			$categories_compare = $db->loadResultArray();
			
			$db->setQuery("SELECT * FROM #__shop_category_comparison");
			$categories_compare_for_object = $db->loadObjectList('id_original');
			
		//	echo '<pre>';
		//	var_dump($categories_compare_for_object);
		//	echo '</pre>';
			
			// получаем csv файлы с цветом/размером/материалом/производителем/качеством
			$csv_path = 'http://eroticfantasy.ru/EF_Razmer.csv';
			$csv = iconv('windows-1251','utf-8',file_get_contents($csv_path));
			file_put_contents('import_razmer.tmp', $csv); 
			$razmer_handle = fopen('import_razmer.tmp', "r");
			while (($data = fgets($razmer_handle)) !== FALSE) {
				$data = split(';',$data);
				$razmer[$data[0]] = $data[1];			// колонка 16	
			}
			
			$csv_path = 'http://eroticfantasy.ru/EF_Proizvoditel.csv';
			$csv = iconv('windows-1251','utf-8',file_get_contents($csv_path));
			file_put_contents('import_proizv.tmp', $csv); 
			$proizv_handle = fopen('import_proizv.tmp', "r");
			while (($data = fgets($proizv_handle)) !== FALSE) {
				$data = split(';',$data);
				$proizv[$data[0]] = $data[1];				// колонка 13
			}
			
			$csv_path = 'http://eroticfantasy.ru/EF_Material.csv';
			$csv = iconv('windows-1251','utf-8',file_get_contents($csv_path));
			file_put_contents('import_material.tmp', $csv); 
			$material_handle = fopen('import_material.tmp', "r");
			while (($data = fgets($material_handle)) !== FALSE) {
				$data = split(';',$data);
				$material[$data[0]] = $data[1];			// колонка 	14
			}
			
			$csv_path = 'http://eroticfantasy.ru/EF_Cvet.csv';
			$csv = iconv('windows-1251','utf-8',file_get_contents($csv_path));
			file_put_contents('import_color.tmp', $csv); 
			$color_handle = fopen('import_color.tmp', "r");			
			while (($data = fgets($color_handle)) !== FALSE) {
				$data = split(';',$data);
				$color[$data[0]] = $data[1];			// колонка 15
			}
			
		//	echo '<pre>';
		//	var_dump($material);
		//	echo '</pre>';
			
			$rows = array();
			while (($data = fgets($handle)) !== FALSE) {
				$data = split(';',$data);
				$cat_Id = array_search($data[2],$categories_compare);			
				$data['articul_wo_char'] = preg_replace('#[^[:digit:]]#Uis', '', $data[4]);
				
				if($data[0]==0 && ($cat_Id !==false || $data[2] == '02594')&& $data[16] > 0 && $data[15] > 0 && $data['articul_wo_char']!= ""){
					$position = stripos(str_ireplace('-','',$data[4]),$data['articul_wo_char']); // позиция вхождения первый цифры в артикул
					if($position>0){
						$first_string = substr(str_ireplace('-','',$data[4]),0,$position);
						
					//	if(stripos($first_string,'H') === 0){
					//		$db->setQuery('DELETE FROM #__shop_prod WHERE articul_wo_char="'.$data['articul_wo_char'].'"');
					//		$db->query();
					//	}	
						$data['articul_wo_char'] = $first_string.$data['articul_wo_char'];		
						
					}
					
					
				//	echo $data[14]."      ".$proizv[$data[14]]."<br/>";
					$data[13] = trim($proizv[$data[13]]);
					$data[14] = trim($material[$data[14]]);
					$data[15] = trim($color[$data[15]]);
					$data[16] = trim($razmer[$data[16]]);
					//$data[2] = $categories_compare_for_object[$categories_compare[$cat_Id]]->id_onsite;
					$data[2] = '-2'; // установили категорию у товаров
					$rows[] = $data;
					// делаем исключение для больших размеров
					if($data[2] == "05933" || stripos($data[16],"XL") !== FALSE){
						$data['articul_wo_char'] .= "L";
						$data[2] = '-3';// отдельная категория для большого белья
						$rows[] = $data;
					}
					
						
					
					 
				}
			}	 		
		//	echo '<pre>';
		//	var_dump($rows);
		//	echo '</pre>';			
			echo count($rows);
		//	exit;
		
			$rows_size = count($rows); // изначальный размер массива
			for($k=0;$k<$rows_size;$k++){ // выбираем продукт
				if(isset($rows[$k])){
					$product = $rows[$k];
					$color_size = array();
					$i = 0;
					$sklad_sum = 0; // общее количество товара на складе
					$color_size[$i][0]=trim($product[15])." / ".trim($product[16]);
					$color_size[$i][1]=trim($product[4]);
					$color_size[$i][2] = $compare[9];
					$sklad_sum +=  (int)$compare[9];
					foreach($rows as $key=>$compare){ // и сравнимаем его со всеми товарами
						if($compare['articul_wo_char'] == $product['articul_wo_char'] && $key != $k){
							$i++;
						//	echo nl2br(trim($compare[15]));
							$color_size[$i][0]= trim($compare[15])." / ".trim($compare[16]);
							$color_size[$i][1] = trim($compare[4]);
							$color_size[$i][2] = $compare[9];
							$color_size[$i][3] = $compare[3]; // запоминаем имя 
							$sklad_sum +=  (int)$compare[9];
							unset($rows[$key]);
						}
					}
					
					$product['size_color'] = $color_size;
					if($sklad_sum > 0)
						$product['sklad_sum'] = 1;
					else
						$product['sklad_sum'] = 0;
					$new_rows[] = $product;
				}
			}
			
			echo '<pre>';
		//	var_dump($new_rows);
			echo '</pre>';
		//	echo count($new_rows);
			
			$query = "DELETE FROM #__shop_fields_values WHERE from_xml=1 AND field_id=1 ";
			$db->setQuery($query);
			$db->query();
			
			
			$query = "SELECT id,articul,sklad_sum FROM #__shop_prod WHERE from_xml=1";
				$db->setQuery($query);
				$goods = $db->loadObjectList();
		//	echo '<pre>';
		//	var_dump($goods);
		//    echo '</pre>';
				foreach($goods as $good){
					$query = "SELECT sklad FROM #__shop_fields_values WHERE from_xml=1 AND field_id=1 AND object_id=".$good->id;
					$db->setQuery($query);
					$fields = $db->loadObjectList();
					
						$count = 0;
						if(count($fields)>0){
						foreach($fields as $field){
							$count+=$field->sklad;
						}
						}
						if($count>0)
							$count = 1;
						else
							$count = 0;
						if($count != $good->sklad_sum){
							$db->setQuery("UPDATE #__shop_prod SET sklad_sum=".$count." WHERE id=".$good->id);
							$db->query();
						}
					
				}
			
		//	exit;
			foreach($new_rows as $product){
				// создаем запрос для базы для проверки существуеттакой товар в базе или нет 
				$query = "SELECT id,xml_price,price,update_description FROM #__shop_prod WHERE articul_wo_char='".$product['articul_wo_char']."' AND from_xml=1";
				$db->setQuery($query);
				$good=$db->loadObject();
			
				$alias = str_ireplace(' ','-',$this->_translate(mysql_real_escape_string(preg_replace('#[\\.,;:-]*#Uis', '', rtrim($product[3])))));
				
				$query = "SELECT alias FROM #__shop_prod WHERE alias='".$alias."'";
				if($good->id > 0)
						$query.=" AND id!=".$good->id;
				$db->setQuery($query);
				$alias_exist = $db->loadResult() !== null;
				$i = 1;
				while($alias_exist){
					$alias = str_ireplace(' ','-',$this->_translate(mysql_real_escape_string(preg_replace('#[\\.,;:-]*#Uis', '', rtrim($product[3])))))."_".$i;				
					$query = "SELECT alias FROM #__shop_prod WHERE alias='".$alias."'";
					if($good->id > 0)
						$query.=" AND id!=".$good->id;
					$db->setQuery($query);
					$alias_exist = $db->loadResult() !== null;
					$i++;					
				}
				
				
				if($good->id > 0){ // если такой товар в базе уже присутствует , то обновляем его поля
					
					if($product[8]>0)
						if($good->xml_price != $good->price) // если не равны то не обновляем поле price
							$price = "xml_price='".(int)$product[8]."',";
						else
							$price = "xml_price='".(int)$product[8]."',price='".(int)$product[8]."',";
				//	$query = "UPDATE #__shop_prod SET old_name='".mysql_real_escape_string($product[3])."',articul='".mysql_real_escape_string($product[4])."',whole_price='".(int)$product[7]."',".$price."manufact='".mysql_real_escape_string($product[13])."',material='".mysql_real_escape_string($product[14])."',sklad_sum='".$product['sklad_sum']."'";
					$query = "UPDATE #__shop_prod SET old_name='".mysql_real_escape_string($product[3])."',whole_price='".(int)$product[7]."',".$price."manufact='".mysql_real_escape_string($product[13])."',material='".mysql_real_escape_string($product[14])."',sklad_sum='".$product['sklad_sum']."'";
					
					// определяем нужно ли обновлять описание
					if($good->update_description == 1)
						$query.=",description='".mysql_real_escape_string($product[6])."'";
					
					
					$query.= ",from_xml=1 WHERE id=".$good->id." AND from_xml=1";
				//	echo $query.'<br/>';
					$db->setQuery($query);
					$db->query();
				//	echo $db->getErrorMsg().'<br/>';
					$item_id = $good->id;
					
				}	
				else {// если же не присутствует , то добавляем его
					$query ="INSERT INTO #__shop_prod (articul,cat_id,name,old_name,xml_price,price,description,from_xml,whole_price,update_description,alias,manufact,material,articul_wo_char,sklad_sum) VALUES ('".mysql_real_escape_string($product[4])."','".$product[2]."','".mysql_real_escape_string($product[3])."','".mysql_real_escape_string($product[3])."','".(int)$product[8]."','".(int)$product[8]."','".mysql_real_escape_string($product[6])."',1,'".mysql_real_escape_string($product[7])."',0,'".$alias."','".mysql_real_escape_string($product[13])."','".mysql_real_escape_string($product[14])."','".$product['articul_wo_char']."','".$product['sklad_sum']."')";
				
					$db->setQuery($query);
					$db->query();
					$item_id = $db->insertid();
				}
			
				
				
				
				$query = "SELECT id,articul,main_img FROM #__shop_prod WHERE id='".$item_id."' AND from_xml=1";
				$db->setQuery($query);
				$item=$db->loadObject();
				
			//	echo '<pre>';
			//	var_dump($product["size_color"]);
			//	echo '</pre>';
				
				
				foreach($product["size_color"] as $color_size){
					if($item->id != ''){
						$query = "INSERT INTO #__shop_fields_values (field_id,object_id,value,sklad,from_xml,original_articul,original_name) VALUES (1,'".$item->id."','".$color_size[0]."','".$color_size[2]."',1,'".mysql_real_escape_string($color_size[1])."','".$color_size[3]."')";
						$db->setQuery($query);
						$db->query();						
					}
				}
				
				// скачиваем основные фото
				if($item->main_img == ""){
					$file_path = 'http://eroticfantasy.ru/photo/'.$item->articul.'_a.jpg';
					$file_dest = JPATH_SITE . '/components/com_shop/images/originals' . DS . $item->articul.'_a.jpg';
					
					$curl = curl_init($file_path);
					curl_setopt($curl, CURLOPT_HEADER ,1);
					curl_setopt($curl,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
					curl_setopt($curl, CURLOPT_NOBODY ,1);
					curl_setopt($curl, CURLOPT_RETURNTRANSFER ,1);
					curl_exec($curl);
					$image_size = curl_getinfo($curl,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
					$http_code = curl_getinfo($curl,CURLINFO_HTTP_CODE);
					curl_close($curl);	
					
					if($http_code == 200 && $image_size > 3000){
						copy($file_path,$file_dest);
					
						$query = "UPDATE #__shop_prod SET main_img='".$item->articul."_a.jpg'"." WHERE id=".$item->id;
						$db->setQuery($query);
						$db->query();
					}
					$m++;
				}
				else{
					$file_path = 'http://eroticfantasy.ru/photo/'.$item->main_img;
					$file_dest = JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img;
					$curl = curl_init($file_path);
					curl_setopt($curl, CURLOPT_HEADER ,1);
					curl_setopt($curl, CURLOPT_NOBODY ,1);
					curl_setopt($curl,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
					curl_setopt($curl, CURLOPT_RETURNTRANSFER ,1);
					curl_exec($curl);
					$image_size = curl_getinfo($curl,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
					$http_code = curl_getinfo($curl,CURLINFO_HTTP_CODE);
					curl_close($curl);	
					
					$file_size = @filesize($file_dest);
					
					if($http_code == 200 && $image_size > 3000)
						if($file_size != $image_size){
							
							copy($file_path,$file_dest);
							
							$query = "UPDATE #__shop_prod SET main_img='".$item->articul.".jpg'"." WHERE id=".$item->id;
							$db->setQuery($query);
							$db->query();
						}
					$k++;
				}
				
			}
			
			$mtime = microtime(); 
			$mtime = explode(" ",$mtime); 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем время окончания в другую переменную 
			$tend = $mtime; 
			//Вычисляем разницу 
			$totaltime = ($tend - $tstart); 
			//Выводим не экран 
			@unlink('import.tmp');
			@unlink('import_razmer.tmp');
			@unlink('import_proizv.tmp');
			@unlink('import_material.tmp');
			@unlink('import_color.tmp');
			echo "<br/><br/>Страница сгенерирована за $totaltime секунд !";
			echo "<br/> Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
			
			//$mainframe->redirect("index.php?option=com_nix&view=price&stage=price_ok");
		break;
		
		case 'price_ok':
				echo '<h2>Прайс успешно загружен , перейдите к следующему шагу.</h2>';
			break;
		case 'delay_5sec':
			
			$mainframe = &JFactory::getApplication();
			$stage = JRequest::getVar('next_step');
			$iterration = JRequest::getVar('next_iter');
			$tstart = JRequest::getVar('tstart');
			switch($stage){
				
				case 'main_thumbs':
					usleep(500);
					$mainframe->redirect("index.php?option=com_shop&view=price&stage=2&iter=".$iterration."&tstart=".$tstart);
					break;
				case 'main_thumbs2':
					usleep(500);
					$mainframe->redirect("index.php?option=com_shop&view=price&stage=102&iter=".$iterration."&tstart=".$tstart);
					break;
				case 'add_img':
				//	usleep(500);
					$mainframe->redirect("index.php?option=com_shop&view=price&stage=3&iter=".$iterration."&tstart=".$tstart);
					break;
			}
			
			
			break;
		case 2: // создаем thumbs для фоток
			ini_set('max_execution_time',120);
			ini_set('memory_limit','64M');
			
			$iterration = JRequest::getInt('iter',0); // получаем текущий шаг операции 
			$step = 150; // задали шаг операции , т.е. за каждый цикл будет обрабатыватся по 50 изображений
			if($iterration == 0){ // если шаг нулевой , то получаем время начала
				$mtime = microtime(); 
				//Разделяем секунды и миллисекунды 
				$mtime = explode(" ",$mtime); 
				//Составляем одно число из секунд и миллисекунд 
				$mtime = $mtime[1] + $mtime[0]; 
				//Записываем стартовое время в переменную 
				$tstart = $mtime;
			}
			else
				$tstart = JRequest::getVar('tstart'); 
			
			$query = "SELECT main_img FROM #__shop_prod WHERE from_xml=1 LIMIT ".($step*$iterration).",".$step; // получаем из базы все товары, добавленные из xml
			$db->setQuery($query);
			$items = $db->loadObjectList();
			echo count($items);
			foreach($items as $item){
			//	echo $item->main_img."<br/>";
				if($item->main_img != '' && file_exists(JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img)){
					
					dgImageCreate(JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img, JPATH_SITE . '/components/com_shop/images/small' . DS . $item->main_img, 200, 200, '95', '1');
					dgImageCreate(JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img, JPATH_SITE . '/components/com_shop/images/big' . DS . $item->main_img, 220, 280, '95', '1');
				}
			}
			
			
			$mtime = microtime(); 
			$mtime = explode(" ",$mtime); 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем время окончания в другую переменную 
			$tend = $mtime; 
			//Вычисляем разницу 
			$totaltime = ($tend - $tstart); 
			//Выводим не экран 
			if(count($items) == $step)
				$mainframe->redirect("index2.php?option=com_shop&view=price&stage=delay_5sec&next_iter=".($iterration+1)."&next_step=main_thumbs&tstart=".$tstart);
			else
				echo '<h2>Создание превью завершено !</h2>';
			echo "<br/><br/>Страница сгенерирована за $totaltime секунд !";
		//	echo "<br/> Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
		break;
		case 3: // обновление картинок побочных и создание их тумбсов
			/*
			1 получаем список товаров по цветам
			2 
			
			
			*/
			ini_set('max_execution_time',60);
			ini_set('memory_limit','64M');
			$iterration = JRequest::getInt('iter',0); // получаем текущий шаг операции 
			$step = 25; // задали шаг операции , т.е. за каждый цикл будет обрабатыватся по  изображений
			if($iterration == 0){ // если шаг нулевой , то получаем время начала
				$mtime = microtime(); 
				//Разделяем секунды и миллисекунды 
				$mtime = explode(" ",$mtime); 
				//Составляем одно число из секунд и миллисекунд 
				$mtime = $mtime[1] + $mtime[0]; 
				//Записываем стартовое время в переменную 
				$tstart = $mtime;
			}
			else
				$tstart = JRequest::getVar('tstart'); 
			// получаем основные фото для товаров
			$query = "SELECT id,articul,add_img,main_img FROM #__shop_prod WHERE from_xml=1 ORDER BY id ASC LIMIT ".($step*$iterration).",".$step." "; // получаем из базы все товары, добавленные из xml
			$db->setQuery($query);
			$items = $db->loadObjectList();

			foreach($items as $item){
				$up_add_img = array();
				$add_images = explode(';',$item->add_img); // получаем все изображения
				$additional_image_sizes = array();
				$additional_image_sizes[] = @filesize(JPATH_SITE . '/components/com_shop/images/originals' . DS . $item->main_img );
				if(count($add_images)>0 && $item->add_img != ''){
					foreach($add_images as $add_image){
						$file_path = 'http://eroticfantasy.ru/photo/'.$add_image;
						$file_dest = JPATH_SITE . '/components/com_shop/images/originals' . DS . $add_image;
						$curl = curl_init($file_path);
						curl_setopt($curl, CURLOPT_HEADER ,1);
						curl_setopt($curl, CURLOPT_NOBODY ,1);
						curl_setopt($curl, CURLOPT_RETURNTRANSFER ,1);
						curl_setopt($curl,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
						curl_exec($curl);
						$image_size = curl_getinfo($curl,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
						$http_code = curl_getinfo($curl,CURLINFO_HTTP_CODE);
						curl_close($curl);	
						
						$file_size = @filesize($file_dest);
						$additional_image_sizes[] = $file_size;
						if($http_code == 200 && $add_image != '' && $image_size > 5000)
							if($file_size != $image_size){								
								copy($file_path,$file_dest);
								dgImageCreate($file_dest, JPATH_SITE . '/components/com_shop/images/big' . DS . $add_image, '220', '280', '95', '1');
								dgImageCreate($file_dest, JPATH_SITE . '/components/com_shop/images/small' . DS . $add_image, 200, 200, '95', '1');
							}
					}
					$i = count($add_images);
				}
				else
					$i = 0;
				// a - 97
				
				
				
				$query = "SELECT * FROM #__shop_fields_values WHERE object_id=".(int)$item->id;
				$db->setQuery($query);
				$all_images = $db->loadObjectList();
				
				foreach($all_images as $image){
					$i = 96;
					do{
						$i++;
						$file_path = 'http://eroticfantasy.ru/photo/'.$image->original_articul.'_'.chr($i).'.jpg';
						$file_dest = JPATH_SITE . '/components/com_shop/images/originals' . DS .$image->original_articul.'_'.chr($i).'.jpg';
						$curl = curl_init($file_path);
						curl_setopt($curl, CURLOPT_HEADER ,1);
						curl_setopt($curl, CURLOPT_NOBODY ,1);
						curl_setopt($curl, CURLOPT_RETURNTRANSFER ,1);
						curl_setopt($curl,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
						curl_exec($curl);
						$image_size = curl_getinfo($curl,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
						$http_code = curl_getinfo($curl,CURLINFO_HTTP_CODE);
						curl_close($curl);	
						
						$alredy_added = array_search($image->original_articul.'_'.chr($i).'.jpg',$add_images);		
						$existing_image_size = $this->_imageSize($additional_image_sizes,$image_size);
						if($http_code == 200 && $image_size > 5000 && $alredy_added === false  && $existing_image_size){							  $additional_image_sizes[] = $image_size; 
							copy($file_path,$file_dest);
							dgImageCreate($file_dest, JPATH_SITE . '/components/com_shop/images/big' . DS . $image->original_articul.'_'.chr($i).'.jpg', '220', '280', '95', '1');						
							dgImageCreate($file_dest, JPATH_SITE . '/components/com_shop/images/small' . DS . $image->original_articul.'_'.chr($i).'.jpg', 200, 200, '95', '1');
							$up_add_img[] = $image->original_articul.'_'.chr($i).'.jpg'; // собираем все добавленые фото
						}
						
							
							
					}
					while($http_code == 200 && $image_size > 5000 );
				}
				if($item->add_img != '') $up_add_img[] = $item->add_img;
				$update_add_image = @implode(';',$up_add_img);
				$query = "UPDATE #__shop_prod SET add_img='".$update_add_image."' WHERE id=".$item->id;
				$db->setQuery($query);
				$db->query();
				$item->add_img = $update_add_image;
		
			}
			$mtime = microtime(); 
			$mtime = explode(" ",$mtime); 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем время окончания в другую переменную 
			$tend = $mtime; 
			//Вычисляем разницу 
			$totaltime = ($tend - $tstart); 
			//Выводим не экран 
			if(count($items) == $step){
				echo '<h2>Выполняется этап '.($iterration+1).' Ожидайте !</h2>';
			//	$mainframe->redirect("index.php?option=com_shop&view=price&stage=delay_5sec&next_iter=".($iterration+1)."&next_step=add_img&tstart=".$tstart);
				echo '<script>document.location="index.php?option=com_shop&view=price&stage=delay_5sec&next_iter='.($iterration+1).'&next_step=add_img&tstart='.$tstart.'"</script>';
				
			}
			else
				echo '<h2>Создание превью завершено !</h2>';
			echo "<br/><br/>Страница сгенерирована за $totaltime секунд !";
		break;
		case 10:
			ini_set('max_execution_time',120);
			ini_set('memory_limit','64M');
			
			$mtime = microtime(); 
			//Разделяем секунды и миллисекунды 
			$mtime = explode(" ",$mtime); 
			//Составляем одно число из секунд и миллисекунд 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем стартовое время в переменную 
			$tstart = $mtime;
			
			$query = "SELECT main_img,add_img FROM #__shop_prod WHERE from_xml>0";
			$db->setQuery($query);
			$images_to_delete = $db->loadObjectList();
			
			foreach($images_to_delete as $image){
				$paths = explode(';',$image->add_img);
				@unlink(JPATH_SITE . '/components/com_shop/images/originals' . DS .$image->main_img); // удаляем оригинал
				@unlink(JPATH_SITE . '/components/com_shop/images/big' . DS .$image->main_img); // удаляем small
				@unlink(JPATH_SITE . '/components/com_shop/images/small' . DS .$image->main_img); // удаляем big
				foreach($paths as $path){
					@unlink(JPATH_SITE . '/components/com_shop/images/originals' . DS .$path); // удаляем оригинал
					@unlink(JPATH_SITE . '/components/com_shop/images/big' . DS .$path); // удаляем small
					@unlink(JPATH_SITE . '/components/com_shop/images/small' . DS .$path); // удаляем big
			//		echo 'hi<br/>';
				}
				
			}
			$query = "UPDATE #__shop_prod SET main_img='',add_img='' WHERE from_xml>0";
			$db->setQuery($query);
			$db->query();
			
			$mtime = microtime(); 
			$mtime = explode(" ",$mtime); 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем время окончания в другую переменную 
			$tend = $mtime; 
			//Вычисляем разницу 
			$totaltime = ($tend - $tstart); 
			//Выводим не экран 
			
			echo '<h2>Фото удалены !</h2>';
			echo "<br/><br/>Страница сгенерирована за $totaltime секунд !";
			
		break;
		case 101: // второй поставщик
			ini_set('max_execution_time',120);
			ini_set('memory_limit','64M');
			
			$mtime = microtime(); 
			//Разделяем секунды и миллисекунды 
			$mtime = explode(" ",$mtime); 
			//Составляем одно число из секунд и миллисекунд 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем стартовое время в переменную 
			$tstart = $mtime;
		
		
			// подключаем библиотеку для чтения xls
			require_once ('excel_reader2.php');
			// скачиваем прайс
			$xls_path = 'http://www.optintim.ru/database_opt.xls';
			@unlink('second.xls');
			file_put_contents('second.xls', file_get_contents($xls_path)); 
			
			$data = new Spreadsheet_Excel_Reader('second.xls');// создаем объект , который в дальнейше будем анализировать
			$goods = array();
			$goods2 = array();
			$k2=0;
			$k=0;
			// перебираем для softline и роксаны
			$last_color_digit = 0;
			for($i=2;$i<=$data->rowcount();$i++){
				if(stripos($data->val($i,2),'soft') !== FALSE){
					preg_match_all('#([[:digit:] ]*)/ (SLC) /(.*), (цвет|ц\.) (.*), (размер|р\.) (.*)#iuS', $data->val($i,3), $matches, PREG_PATTERN_ORDER);
				//	$articul_last = $data->val($i-1,5);
					
				//	if($articul_last !=  $data->val($i,5) && $last_color_digit != $matches[1][0]){
						
						$digits = explode(' ',$matches[1][0]);
						if(count($digits)>3){
						$tovar['category'] = '-1';				
						$tovar['color_size'][0] = $matches[5][0]." / ".$matches[7][0];
						$tovar['name'] = $matches[3][0];
					//	echo '<pre>';
					//	echo iconv('CP-1251',"UTF8",$data->val($i,3));
					//	var_dump($matches);
					//	echo '</pre>';
						$tovar['manufact'] = "SLC (Польша)";
						$tovar['main_img'] = $data->val($i,4);
					//	$tovar['articul'] = $data->val($i,5);
						$tovar['new_articul'] = $data->val($i,5);
					//	if(stripos($matches[7][0],'XL') !== FALSE)

						$tovar['sklad'][0] = $data->val($i,7);
						$tovar['original_aricul'][0] = $data->val($i,5);
						$tovar['whole_price'][0] = (int)str_ireplace(',','',$data->val($i,8));
						if(count($digits)==5){
							$tovar[last_color_digit] = $digits[0].$digits[2];
							$tovar['articul'] = $digits[3].$digits[2].$digits[0];
						}
						if(count($digits)==6){
							$tovar[last_color_digit] = $digits[0].$digits[1];
							$tovar['articul'] = $digits[4].$digits[3].$digits[0].$digits[1];
						}
						$tovar['add_img'][0]=$data->val($i,4);
						$goods[] = $tovar;
						if(stripos($matches[7][0],'XL') !== FALSE){
							$tovar[last_color_digit] .= "L";
							$tovar['articul'] .= "L";
							$tovar['category'] = '-4';
							$goods[] = $tovar;
						}
						}
				//	}
				//	else{
				//		$goods[$k]['color_size'][] = $matches[7][0]." / ".$matches[8][0];
				//		$goods[$k]['sklad'][] = $data->val($i,7);
				//		$goods[$k]['original_aricul'][] = $data->val($i,5);
				//		$goods[$k]['whole_price'][] = (int)str_ireplace(',','',$data->val($i,8));
				//		$goods[$k]['add_img'][]=$data->val($i,4);
				//	}
				}
				else
				if(stripos($data->val($i,2),'Roxana') !== FALSE){
					preg_match_all('#(.*)/ (SLC|ROXANA) /(.*), цвет (.*), размер (.*)#iuS', $data->val($i,3), $matches, PREG_PATTERN_ORDER);
					
						
						$tovar['manufact'] = "Roxana (Польша)";
						$tovar['category'] = '-1';				
						$tovar['color_size'][0] = $matches[4][0]." / ".$matches[5][0];
						$tovar['name'] = $matches[3][0];
						$tovar['main_img'] = $data->val($i,4);
						$tovar['articul'] = substr($data->val($i,5),0,strlen($data->val($i,5))-1);
						$tovar['compare_articul'] = substr($data->val($i,5),0,strlen($data->val($i,5))-1);
						$tovar['sklad'][0] = $data->val($i,7);
						$tovar['original_aricul'][0] = (int)str_ireplace(',','',$data->val($i,5));
						$tovar['whole_price'][0] = $data->val($i,8);
						
						$tovar['add_img'][0]=$data->val($i,4);
						$goods2[] = $tovar;
						if(stripos($matches[5][0],'XL') !== FALSE){
							$tovar['compare_articul'] .= "L";
							
							$tovar['articul'] .= "L";
							$tovar['category'] = '-4';
							$goods2[] = $tovar;
						}
						
					}
				
			}
			
			
			$count = count($goods);
			for($j=0;$j<$count;$j++){
				if(isset($goods[$j])){
					$sklad_sum =$goods[$j][sklad][0];
					foreach($goods as $key=>$good){
						if($good['last_color_digit'] == $goods[$j]['last_color_digit'] && $key!=$j){
							$goods[$j]['color_size'][] = $good['color_size'][0];
							$goods[$j]['sklad'][] = $good['sklad'][0];
							$goods[$j]['original_aricul'][] = $good['articul'];
							$goods[$j]['whole_price'][] = $good['whole_price'][0];
							$goods[$j]['add_img'][] = $good['main_img'];
							$sklad_sum +=$good['sklad'][0];
							unset($goods[$key]);
						}
					}
					if($sklad_sum>0)
						$goods[$j][sklad_sum] = 1;
					else
						$goods[$j][sklad_sum] =0;	
					$line[] = $goods[$j];
					unset($goods[$j]);
				}
			}
			echo '<pre>';
		//	var_dump($line);
			echo '</pre>';
			
			
			
			
			// перебираем для роксаны
			$count = count($goods2);
			for($j=0;$j<$count;$j++){
				if(isset($goods2[$j])){
					$sklad_sum =$goods2[$j][sklad][0];
					foreach($goods2 as $key=>$good){
						if($good['compare_articul'] == $goods2[$j]['compare_articul'] && $key!=$j){
							$goods2[$j]['color_size'][] = $good['color_size'][0];
							$goods2[$j]['sklad'][] = $good['sklad'][0];
							$goods2[$j]['original_aricul'][] = $good['articul'];
							$goods2[$j]['whole_price'][] = $good['whole_price'][0];
							$goods2[$j]['add_img'][] = $good['main_img'];
							$sklad_sum +=$good['sklad'][0];
							unset($goods2[$key]);
						}
					}
					if($sklad_sum>0)
						$goods2[$j][sklad_sum] = 1;
					else
						$goods2[$j][sklad_sum] =0;	
					$line2[] = $goods2[$j];
					unset($goods2[$j]);
				}
			}
			
			$goods = array_merge($line,$line2);
			echo '<pre>';
		//	var_dump($goods);
			echo '</pre>';
		//	exit;
			
			/* СТАРАЯ ВЕРСИЯ ОБНОВЛЕНИЯ
			$k=count($line);
			$goods = $line;
			$name_last = '';
			for($i=2;$i<=$data->rowcount();$i++){
				if(stripos($data->val($i,2),'Roxana') !== FALSE){
					preg_match_all('#(.*)/ (SLC|ROXANA) /(.*), цвет (.*), размер (.*)#iuS', $data->val($i,3), $matches, PREG_PATTERN_ORDER);
					$articul_last = $data->val($i-1,5);
					
					if((int)($articul_last/10) !=  (int)($data->val($i,5)/10) ){
						$k++;
						$goods[$k]['manufact'] = "Roxana (Польша)";
						$goods[$k]['category'] = '-1';				
						$goods[$k]['color_size'][0] = $matches[4][0]." / ".$matches[5][0];
						$goods[$k]['name'] = $matches[3][0];
						$goods[$k]['main_img'] = $data->val($i,4);
						$goods[$k]['articul'] = $data->val($i,5);
						$goods[$k]['new_articul'] = $data->val($i,5);
						if(stripos($matches[5][0],'XL') !== FALSE){
							
						}
						$goods[$k]['sklad'][0] = $data->val($i,7);
						$goods[$k]['original_aricul'][0] = (int)str_ireplace(',','',$data->val($i,5));
						$goods[$k]['whole_price'][0] = $data->val($i,8);
						$name_last = $matches[3][0];
						$goods[$k]['add_img'][]=$data->val($i,4);
						$goods[$k]['add_img'][0]=$data->val($i,4);
						
						
					}
					else{
						$goods[$k]['color_size'][] = $matches[4][0]." / ".$matches[5][0];
						$goods[$k]['sklad'][] = $data->val($i,7);
						$goods[$k]['original_aricul'][] = $data->val($i,5);
						$goods[$k]['add_img'][]=$data->val($i,4);
						
					}
				}
			}
			*/
			echo '<pre>';
		//	var_dump($goods);
			echo '</pre>';
		//	exit;
			$query = "DELETE FROM #__shop_fields_values WHERE from_xml=2 AND field_id=1 ";
			$db->setQuery($query);
			$db->query();
			$query = "UPDATE jos_shop_prod set sklad_sum=0 WHERE from_xml=2 "; // обнуляем все данны о наличии на складе
			$db->setQuery($query);
			$db->query();
			
			foreach($goods as $tovar){
				// создаем запрос для базы для проверки существует такой товар в базе или нет 
				$query = "SELECT id,update_description FROM #__shop_prod WHERE articul='".$tovar['articul']."' AND from_xml=2";
			//	echo $query."<br/>";
				$db->setQuery($query);
				$good=$db->loadObject();
				$alias = str_ireplace(' ','-',$this->_translate(mysql_real_escape_string(preg_replace('#[\\.,;:-]*#Uis', '', rtrim($tovar['name'])))));
				
				$query = "SELECT alias FROM #__shop_prod WHERE alias='".$alias."'";
				if($good !== null)
						$query.=" AND id!=".$good->id;
				$db->setQuery($query);
				$alias_exist = $db->loadResult() !== null;
				$i = 1;
				$price = array_unique($tovar['whole_price']);
				$max_price=$price[0];
				for($i=0;$i<count($price);$i++){
					if($max_price < $price[$i])
						$max_price = $price[$i];
				}
				$tovar['whole_price'][0] = $max_price;
				
				$sklad_sum =0;
				foreach($tovar[sklad] as $key=>$sklad){
					if($sklad>0){
						$sklad_sum =1;
						break;
					}
					
				}
				
				
				
				while($alias_exist){
					$alias = str_ireplace(' ','-',$this->_translate(mysql_real_escape_string(preg_replace('#[\\.,;:-]*#Uis', '', rtrim($tovar['name'])))))."_".$i;				
					$query = "SELECT alias FROM #__shop_prod WHERE alias='".$alias."'";
					if($good !== null)
						$query.=" AND id!=".$good->id;
					$db->setQuery($query);
					$alias_exist = $db->loadResult() !== null;
					$i++;					
				}
				
				if($good !== null){ // если такой товар в базе уже присутствует , то обновляем его поля
					
					$query = "UPDATE #__shop_prod SET old_name='".mysql_real_escape_string($tovar['name'])."',whole_price='".(int)$tovar['whole_price'][0]."',sklad_sum='".$sklad_sum."'";					
					$query.= ",from_xml=2,manufact='".$tovar['manufact']."' WHERE id='".$good->id."'";
					
				}	
				else // если же не присутствует , то добавляем его
					$query ="INSERT INTO #__shop_prod (articul,cat_id,name,old_name,from_xml,whole_price,update_description,alias,sklad_sum,manufact) VALUES ('".mysql_real_escape_string($tovar['articul'])."','".$tovar[category]."','".mysql_real_escape_string($tovar[name])."','".mysql_real_escape_string($tovar[name])."',2,'".(int)($tovar[whole_price][0])."',0,'".$alias."','".$sklad_sum."','".$tovar['manufact']."')";
			//	echo $query."<br/>";
			
			//	echo $query."<br/>";
				$db->setQuery($query);
				$db->query();
				
				
				$query = "SELECT id,articul,main_img,add_img FROM #__shop_prod WHERE articul='".$tovar['articul']."' AND from_xml=2";
				$db->setQuery($query);
				$item=$db->loadObject();
				
			//	echo '<pre>';
			//	var_dump($product["size_color"]);
			//	echo '</pre>';
				
				foreach($tovar["color_size"] as $key=>$color_size){
					if($item->id != ''){
						$query = "INSERT INTO #__shop_fields_values (field_id,object_id,value,sklad,from_xml,original_articul) VALUES (1,'".$item->id."','".$color_size."','".$tovar[sklad][$key]."',2,'".$tovar[original_aricul][$key]."')";
						$db->setQuery($query);
						$db->query();						
					}
				}
				
				// скачиваем основные фото
				if($item->main_img == ""){
					$file_path = $tovar[main_img];
					preg_match_all('#http://optintim.ru/foto/(.*)#uiS', $tovar[main_img], $matches, PREG_PATTERN_ORDER);
					$file_dest = JPATH_SITE . '/components/com_shop/images/originals' . DS .$matches[1][0];
					
					$curl = curl_init($file_path);
					curl_setopt($curl, CURLOPT_HEADER ,1);
					curl_setopt($curl,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
					curl_setopt($curl, CURLOPT_NOBODY ,1);
					curl_setopt($curl, CURLOPT_RETURNTRANSFER ,1);
					curl_exec($curl);
					$image_size = curl_getinfo($curl,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
					$http_code = curl_getinfo($curl,CURLINFO_HTTP_CODE);
					curl_close($curl);	
					
					if($http_code == 200 && $image_size > 3000){
						copy($file_path,$file_dest);
					
						$query = "UPDATE #__shop_prod SET main_img='".$matches[1][0]."' WHERE id=".$item->id;
						$db->setQuery($query);
						$db->query();
					}
					$m++;
				}
				else{
					$file_path = 'http://optintim.ru/foto/'.$item->main_img;
					$file_dest = JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img;
					$curl = curl_init($file_path);
					curl_setopt($curl, CURLOPT_HEADER ,1);
					curl_setopt($curl, CURLOPT_NOBODY ,1);
					curl_setopt($curl,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
					curl_setopt($curl, CURLOPT_RETURNTRANSFER ,1);
					curl_exec($curl);
					$image_size = curl_getinfo($curl,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
					$http_code = curl_getinfo($curl,CURLINFO_HTTP_CODE);
					curl_close($curl);	
					
					$file_size = @filesize($file_dest);
					
					if($http_code == 200 && $image_size > 3000)
						if($file_size != $image_size){
							
							copy($file_path,$file_dest);
							
							$query = "UPDATE #__shop_prod SET main_img='".$item->main_img."' WHERE id=".$item->id;
							$db->setQuery($query);
							$db->query();
						}
					$k++;
				}
				
				$query = "SELECT id,articul,main_img,add_img FROM #__shop_prod WHERE articul='".$tovar['articul']."' AND from_xml=2";
				$db->setQuery($query);
				$item=$db->loadObject();
				
				// скачиваем доп фото
				$add_img = @array_unique($tovar['add_img']);
				for($i=0;$i<count($add_img);$i++){
					if($add_img[$i] == 'http://optintim.ru/foto/'.$item->main_img)
						unset($add_img[$i]);
				}
				$additional_img = explode(';',$item->add_img);
			//	foreach($additional_img as $path){
			//		@unlink(JPATH_SITE . '/components/com_shop/images/originals' . DS .$path); // удаляем оригинал
			//		@unlink(JPATH_SITE . '/components/com_shop/images/big' . DS .$path); // удаляем small
			//		@unlink(JPATH_SITE . '/components/com_shop/images/small' . DS .$path); // удаляем big
			//	}
				if($additional_img[0] != '')
					$insert_img = $additional_img;
				else
					$insert_img = array();
				if(count($add_img)>0)
					foreach($add_img as $img){
						$file_path = $img;
						preg_match_all('#http://optintim.ru/foto/(.*)#uiS', $img, $matches, PREG_PATTERN_ORDER);
						if(array_search($matches[1][0],$additional_img)===false && $matches[1][0] != $item->main_img){
							$file_dest = JPATH_SITE . '/components/com_shop/images/originals' . DS .$matches[1][0];
							$curl = curl_init($file_path);
							curl_setopt($curl, CURLOPT_HEADER ,1);
							curl_setopt($curl, CURLOPT_NOBODY ,1);
							curl_setopt($curl,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
							curl_setopt($curl, CURLOPT_RETURNTRANSFER ,1);
							curl_exec($curl);
							$image_size = curl_getinfo($curl,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
							$http_code = curl_getinfo($curl,CURLINFO_HTTP_CODE);
							curl_close($curl);	
							
							$file_size = @filesize($file_dest);
							copy($file_path,$file_dest);
							$insert_img[]=$matches[1][0];
						}
						
					}
				
				$query = "UPDATE #__shop_prod SET add_img='".implode(';',$insert_img)."' WHERE id=".$item->id;
				$db->setQuery($query);
				$db->query();
			}
			$mtime = microtime(); 
			$mtime = explode(" ",$mtime); 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем время окончания в другую переменную 
			$tend = $mtime; 
			//Вычисляем разницу 
			$totaltime = ($tend - $tstart); 
			//Выводим не экран 
			
			echo '<h2>Готово !</h2>';
			echo "<br/><br/>Страница сгенерирована за $totaltime секунд !";
		break;
		case 102:
			ini_set('max_execution_time',60);
			ini_set('memory_limit','64M');
			
			$iterration = JRequest::getInt('iter',0); // получаем текущий шаг операции 
			$step = 150; // задали шаг операции , т.е. за каждый цикл будет обрабатыватся по 50 изображений
			if($iterration == 0){ // если шаг нулевой , то получаем время начала
				$mtime = microtime(); 
				//Разделяем секунды и миллисекунды 
				$mtime = explode(" ",$mtime); 
				//Составляем одно число из секунд и миллисекунд 
				$mtime = $mtime[1] + $mtime[0]; 
				//Записываем стартовое время в переменную 
				$tstart = $mtime;
			}
			else
				$tstart = JRequest::getVar('tstart'); 
			
			$query = "SELECT main_img,add_img FROM #__shop_prod WHERE from_xml=2 LIMIT ".($step*$iterration).",".$step; // получаем из базы все товары, добавленные из xml
			$db->setQuery($query);
			$items = $db->loadObjectList();
			echo count($items);
			foreach($items as $item){
			//	echo $item->main_img."<br/>";
				if($item->main_img != '' && file_exists(JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img)){
					
					dgImageCreate(JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img, JPATH_SITE . '/components/com_shop/images/small' . DS . $item->main_img, 200, 200, '95', '1');
					dgImageCreate(JPATH_SITE . '/components/com_shop/images/originals' . DS .$item->main_img, JPATH_SITE . '/components/com_shop/images/big' . DS . $item->main_img, 220, 280, '95', '1');
				}
				$add_img = explode(';',$item->add_img);
				foreach($add_img as $img){
					if($img != '' && file_exists(JPATH_SITE . '/components/com_shop/images/originals' . DS .$img)){
					dgImageCreate(JPATH_SITE . '/components/com_shop/images/originals' . DS .$img, JPATH_SITE . '/components/com_shop/images/small' . DS . $img, 200, 200, '95', '1');
					dgImageCreate(JPATH_SITE . '/components/com_shop/images/originals' . DS .$img, JPATH_SITE . '/components/com_shop/images/big' . DS . $img, 220, 280, '95', '1');
					}
				}
			}
			
			
			$mtime = microtime(); 
			$mtime = explode(" ",$mtime); 
			$mtime = $mtime[1] + $mtime[0]; 
			//Записываем время окончания в другую переменную 
			$tend = $mtime; 
			//Вычисляем разницу 
			$totaltime = ($tend - $tstart); 
			//Выводим не экран 
			if(count($items) == $step)
				$mainframe->redirect("index.php?option=com_shop&view=price&stage=delay_5sec&next_iter=".($iterration+1)."&next_step=main_thumbs2&tstart=".$tstart);
			else
				echo '<h2>Создание превью завершено !</h2>';
			echo "<br/><br/>Страница сгенерирована за $totaltime секунд !";
		
		break;
		case 201:
			$query = "SELECT * FROM #__shop_prod WHERE from_xml=1";
			$db->setQuery($query);
			$items = $db->loadObjectList();
			
			foreach($items as $item){
				$position = stripos(str_ireplace('-','',$item->articul),$item->articul_wo_char); // позиция вхождения первый цифры в артикул
				//echo 'hi';
					if($position>0){
						$first_string = substr(str_ireplace('-','',$item->articul),0,$position);	
						$data = $first_string.$item->articul_wo_char;		
						$print.= $first_string.'   '.$position. '    '.$data.'<br/>';						
						$query = "UPDATE #__shop_prod SET articul_wo_char='".$data."' WHERE id=".$item->id;
						$db->setQuery($query);
						$db->query();
					}
			}
			echo $print;
		break;
		}		
		}
		
		parent::display($tpl);
	}		
		
		
	
	function _translate($title)
	{
		$tbl= array(
			'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ж'=>'g', 'з'=>'z',
			'и'=>'i', 'й'=>'y', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o', 'п'=>'p',
			'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'ы'=>'i', 'э'=>'e', 'А'=>'A',
			'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ж'=>'G', 'З'=>'Z', 'И'=>'I',
			'Й'=>'Y', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P', 'Р'=>'R',
			'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Ы'=>'I', 'Э'=>'E', 'ё'=>"yo", 'х'=>"h",
			'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>"", 'ь'=>"", 'ю'=>"yu", 'я'=>"ya",
			'Ё'=>"YO", 'Х'=>"H", 'Ц'=>"TS", 'Ч'=>"CH", 'Ш'=>"SH", 'Щ'=>"SHCH", 'Ъ'=>"", 'Ь'=>"",
			'Ю'=>"YU", 'Я'=>"YA", ' '=>"-", '('=>'', ')'=>'', ','=>'', '.'=>''
			);

		$translate = mb_strtolower(strtr($title, $tbl));
		return $translate;
	}
	// функция проверяет является ли фотография уникальной по размеру
	function _imageSize($array_of_sizes,$size){
		foreach($array_of_sizes as $item){
			if(abs($item-$size)<1000)
				return false;
		}
		return true;
	}
	
}

?>